home *** CD-ROM | disk | FTP | other *** search
- /*/// Header
- **
- ** $VER: gcc.ged 0.005 (25 Feb 1995) **
- **
- ** © 1995 Oliver Clouth
- **
- ** Address : Asternweg 5 , 51399 Burscheid
- **
- ** eMail : O.CLOUTH@TOM.bergisch-land.sub.de
- **
- ** Phone : V+49-2174-60998
- **
- **
- ** Aufruf :
- **
- ** gcc.ged CPU COM LANG
- **
- **
- ** Optionen :
- **
- ** CPU : 000 ; option -m68000 wird eingefügt ; siehe dazu auch
- ** 020 ; option -m68020 wird eingefügt ; in die gcc
- ** 030 ; option -m68030 wird eingefügt ; anleitung
- ** 040 ; option -m68040 wird eingefügt ;
- ** 024 ; option -m68020-40 wird eingefügt ;
- **
- **
- ** COM: GCC ; ruft gcc auf (z.B. FreshFish-May94/Sep94)
- ** 233 ; ruft gcc-2.3.3 auf (z.B. FreshFish-May94/Sep94)
- ** 258 ; ruft gcc-2.5.8 auf (z.B. FreshFish-May94/Sep94)
- ** 260 ; ruft gcc-2.6.0 auf (z.B. FreshFish-Sep94)
- **
- **
- ** LANG: C ; C_Config wird benutzt
- ** C++ ; CPP_Config wird benutzt
- **
- ** $HISTORY:
- **
- ** 25 Feb 1995 : 0.005 : 3. Argument LANG eingefürt, welches für die wahl des
- ** Configfiles benötigt wird.
- ** Damit liegt die wahl der Sprache nicht mehr bei COM
- ** und das ganze Script ist wesentlich kürzer geworden.
- **
- ** 25 Feb 1995 : 0.004 : Einstellung über die files C_Config und CPP_Config
- ** möglich, die im Verzeichnis ENV: stehen müssen
- **
- ** 23 Feb 1995 : 0.003 : Argument mit der Angabe der gcc version eingebaut,
- ** Dadurch ist das Compilieren von einem auf Festplatte
- ** oder auf CD-Rom instalierten gcc möglich.
- ** z.B. (FreshFish-Sep94)
- ** Und damit gleich die Option ob C oder C++
- **
- ** 21 Feb 1995 : 0.002 : aufruf mit Argument welches die CPU festlegt
- ** 21 Feb 1995 : 0.001 : initial release
- **
- \\\*/
-
- OPTIONS RESULTS /* enable return codes */
-
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
-
- 'LOCK CURRENT' /* lock GUI, gain access */
- OPTIONS FAILAT 6 /* ignore warnings */
- SIGNAL ON SYNTAX /* ensure clean exit */
-
- host = ADDRESS() /* get GED's port */
-
- /* ------------------------- INSERT YOUR CODE HERE: ------------------ */
-
- options results
- parse arg CPU COM LANG
-
- /*/// "CPU" */
-
- IF CPU = 000 THEN
- do
- CPU = "-m68000"
- EXE = "000"
- end
- ELSE IF CPU = 020 THEN
- do
- CPU = "-m68020"
- EXE = "020"
- end
- ELSE IF CPU = 030 THEN
- do
- CPU = "-m68030"
- EXE = "030"
- end
- ELSE IF CPU = 040 THEN
- do
- CPU = "-m68040"
- EXE = "040"
- end
- ELSE IF CPU = 024 THEN
- do
- CPU = "-m68020-40"
- EXE = "024"
- end
-
- /*\\\*/
-
- /*/// "Compiler" */
-
- IF COM = GCC THEN
- do
- COM = "gcc"
- end
- IF COM = 233 THEN
- do
- COM = "gcc-2.3.3"
- end
- IF COM = 258 THEN
- do
- COM = "gcc-2.5.8"
- end
- IF COM = 260 THEN
- do
- COM = "gcc-2.6.0"
- end
-
- /*\\\*/
-
- 'QUERY CAT'
- isGerman = (result = "deutsch")
-
- 'QUERY ANYTEXT'
-
- if (result = 'TRUE') then
-
- do
- 'QUERY DOC VAR OLDNAME' /* remember current file name */
-
- 'QUERY PATH Var PFAD'
- 'QUERY FILE VAR FNAME' /* Nur den Filenamen in Var FNAME */
-
- Name = left(FNAME, Pos('.', FNAME) - 1)
- NameB = PFAD || '/' || Name
-
- call pragma 'D', 'BIN:' /* Aktuelles Verzeichnis wechseln */
-
-
- Code = EXISTS(Code)
-
- IF LANG = "C++" THEN
- do
- CONFIG = GETFILE('RAM:ENV/CPP_config')
- end
- ELSE IF LANG = "C" THEN
- do
- CONFIG = GETFILE('RAM:ENV/C_config')
- end
-
- say
- say COM OLDNAME CPU CONFIG '-o' NameB'.'EXE
- say
-
- shell
- call pragma 'Stack', 250000
- COM OLDNAME CPU CONFIG '-o' NameB'.'EXE
-
- say
- say
- say
- say 'FERTIG FERTIG'
- say
-
-
- ok = (RC = 0)
-
- shell /* address host (GoldED) */
-
- 'NAME NEW ' || oldname /* restore old file name */
- end
-
- else do
-
- if (isGerman) then
- 'REQUEST BODY="Kein Text vorhanden ?!"'
- else
- 'REQUEST BODY="Text buffer is empty ?!"'
- end
-
- 'UNLOCK' /* VERY important: unlock GUI */
- Exit
-
- GetFile:PROCEDURE
-
- ARG envv
-
- filename= envv
- IF OPEN(fhandle,filename,"READ") THEN DO
- readed=READLN(fhandle);
- CALL CLOSE(fhandle);
- END;
- ELSE readed = "unset"
-
- RETURN readed
-
-